1. МЕТКА «JLabel»
Функциональность компонента JLabel сводится к отображению на форме не редактируемой текстовой строки, т.е. надписи.
|
№ п/п |
Свойство |
Назначение |
|
1. |
text |
Текст метки |
|
2. |
foreground |
Цвет текста |
|
3. |
background |
Цвет фона |
|
4. |
font |
Шрифт текста |
|
5. |
horizontalTextPosition |
Выравнивание текста по горизонтали |
|
6. |
icon |
Картинка (jpeg, gif, png) или ссылка из сети |
|
7. |
opaque |
Непрозрачность фона |
|
8. |
border |
Рамка |
|
9. |
componentPopupMenu |
Привязка компонента всплывающего меню |
|
10. |
cursor |
Вид курсора над компонентом |
|
11. |
disabledIcon |
Картинка компонента при недоступности компонента |
|
12. |
enabled |
Доступность компонента |
|
13. |
horizontalAlignment |
Выравнивание текста и картинки по горизонтали |
|
14. |
iconTextGap |
Отступ между картинкой и текстом |
|
15. |
toolTipText |
Всплывающая подсказка над компонентом |
|
16. |
verticalAlignment |
Выравнивание текста и картинки по вертикали |
|
17. |
verticalTextPosition |
Выравнивание текста по вертикали |
|
18. |
X |
Положение X верхнего левого угла |
|
19. |
Y |
Положение Y верхнего левого угла |
|
20. |
Высота |
Высота компоненты |
|
21. |
Ширина |
Ширина компоненты |
В свойстве text можно не только задавать простейший текст, но и задавать его в виде html-текста, например:
<html>
<h1>Большой текст</h1>
<h2>Небольшой текст</h2>
<h3>Поменьше текст</h3>
<b>Жирная надпись</b><br>
<strong>Очень важный текст</strong><br>
<kbd>Стиль печатной машинки</kbd><br>
<cite>Курсив</cite><br>
<font color="224956">Цветная строка (цвет формата RRGGBB</font>)<br>
<hr>
<cite>Цитата</cite><br>
<address>Цитата в цвете</address><br>
<p align="center"><font size="7">Гиганский текст</font><br></p>
<p align="center">Текст по-центру</p>
<p align="right">Текст справа</p>
<br>
<p align="left">Текст слева</p>
<li>пункт 1<br>
<li>пункт 2<br>
</html>
В результате присвоения свойству text данного кода метка станет отображать следующее:

2. ПОЛЕ ДЛЯ ВВОДА ТЕКСТА «JTextField»
![]()
Компонент JTextField представляет собой реализацию однострочной области для ввода/вывода текста.
|
№ п/п |
Свойство |
Назначение |
|
1. |
text |
Текст в компоненте |
|
2. |
editable |
Разрешение редактировать текст |
|
3. |
font |
Шрифт текста |
|
4. |
foreground |
Цвет текста |
|
5. |
background |
Цвет фона |
|
6. |
horizontalAlignment |
Выравнивание текста по горизонтали |
|
7. |
opaque |
Непрозрачность фона |
|
8. |
border |
Рамка |
|
9. |
componentPopupMenu |
Привязка компонента всплывающего меню |
|
10. |
caretColor |
Цвет курсора |
|
11. |
cursor |
Вид курсора |
|
12. |
disabledTextColor |
Цвет текста при недоступности компонента |
|
13. |
enabled |
Доступность компонента |
|
14. |
focusable |
Разрешение фокуса ввода/работы с текстом |
|
15. |
selectedText |
Выделенный текст |
|
16. |
selectedTextColor |
Цвет выделенного текста |
|
17. |
selectionColor |
Цвет фона выделенного текста |
|
18. |
selectionEnd |
Конечная позиция выделения текста |
|
19. |
selectionStart |
Начальная позиция выделения текста |
|
20. |
toolTipText |
Всплывающая подсказка над компонентом |
|
21. |
Высота |
Высота компонента |
|
22. |
Ширина |
Ширина компонента |
|
№ п/п |
Методы |
Назначение |
|
1. |
getText() |
получить текст |
|
2. |
copy() |
копирует выделенный текст в системный буфер обмена |
|
3. |
cut() |
удаляет выделенный текст и копирует его в системный буфер обмена |
|
4. |
paste() |
вставить содержимое системного буфера обмена |
|
5. |
selectAll() |
выделить весь текст |
|
6. |
getText(int offs, int len) |
получить часть текста |
|
7. |
setText(String t) |
установить новый текст |
|
8. |
replaceSelection(String content) |
заменить выделение указанным текстом |
|
9. |
getSelectedText() |
получить выделенный текст |
|
10. |
getSelectionEnd() |
позиция конца выделенного текста |
|
11. |
getSelectionStart() |
позиция начала выделенного текста |
|
12. |
select(int selStart, int selEnd) |
выделить часть текста |
2. 1. Примеры работы с JTextField
private void jTextField1KeyPressed(java.awt.event.KeyEvent evt) {
// Нажатие клавиши "Enter"
int key = evt.getKeyCode(); // Получаем код нажатой клавиши
if (key == KeyEvent.VK_ENTER) { // Если нажата, клавиша "Enter", то
// jButton1.requestFocus(); // Установить фокус на кнопку jButton1
jButton1ActionPerformed(null); // Вызвать обработчик нажатия на кнопку jButton1
}
}
3. МНОГОСТРОЧНОЕ ПОЛЕ
ДЛЯ ВВОДА/ВЫВОДА ТЕКСТА «JTextArea»

Компонент JTextArea служит для ввода/вывода многострочных данных.
|
№ п/п |
Свойство |
Назначение |
|
1. |
text |
Текстовое содержимое компонента |
|
2. |
editable |
Разрешение редактирования текста в компоненте |
|
3. |
enabled |
Доступность компонента |
|
4. |
lineWrap |
Автоматически переносить длинный текст на новые строки (true – перенос включен) |
|
5. |
wrapStyleWord |
При включенном режиме «lineWrap» разрешение или запрет на разрыв слов при переносе (true – не разрывать слова) |
|
6. |
tabSize |
Размер отступа при нажатии клавиши «Tab» при вводе текста в компонент |
|
7. |
font |
Шрифт текста списка |
|
8. |
foreground |
Цвет текста списка |
|
9. |
background |
Цвет фона списка |
|
10. |
selectedTextColor |
Цвет выделенного текста |
|
11. |
selectionColor |
Цвет фона выделенного текста |
|
12. |
disabledTextColor |
Цвет текста при включенной недоступности компонента (enabled=false) |
|
13. |
caretColor |
Цвет курсора |
|
14. |
opaque |
Непрозрачность фона |
|
15. |
border |
Дополнительная рамка у компонента |
|
16. |
cursor |
Вид курсора |
|
17. |
focusable |
Разрешение фокуса ввода с клавиатуры |
|
18. |
toolTipText |
Всплывающая подсказка |
|
19. |
componentPopupMenu |
Привязка компонента всплывающего меню |
|
№ п/п |
Методы |
Назначение |
|
1. |
setText |
Установка текста в компоненте |
|
2. |
getText |
Получение подстроки |
|
3. |
selectAll |
Выделить весь текст |
|
4. |
setText("") |
Удалить весь текст в компоненте |
|
5. |
copy |
Скопировать выделение в буфер обмена |
|
6. |
cut |
Вырезать выделенный текст в буфер обмена |
|
7. |
paste |
Вставить из буфера обмена текст |
|
8. |
append |
Добавить новую строку текста в конец |
|
9. |
getSelectedText |
Получить выделенный текст |
|
10. |
replaceRange |
Замена фрагмента текста на новый текст |
|
11. |
replaceSelection |
Замена выделенного фрагмента текста на новый текст |
|
12. |
insert |
Вставляет новый текст в указанное место имеющегося текста |
|
13. |
getLineCount |
Получить количество строк |
|
14. |
getCaretPosition |
Получить позицию курсора |
|
15. |
getLineOfOffset |
Получить номер строки, где находится курсор |
|
16. |
getLineStartOffset |
Определение начала строки |
|
17. |
getLineEndOffset |
Определение конца строки |
ПРИМЕЧАНИЕ. При добавлении на форму компонента JTextArea предварительно автоматически вставляется компонент JScrollPane, и уже в него вставляется JTextArea. Это дает компоненту JTextArea возможность горизонтальной и вертикальной прокрутки. Свойства «X», «Y», «Ширина», «Высота» перенесены в компонент JTextArea.
3.1. Примеры работы с JTextArea
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Простейшая работа с JTextArea
jTextArea1.setText("Все работает!!!"); // Выдача текста
jTextArea1.selectAll(); // Выделить весь текст
jTextArea1.copy(); // Скопировать выделение в буфер обмена
//jTextArea1.cut(); //Вырезать выделенный текст в буфер обмена
//jTextArea1.paste(); //Вставить из буфера обмена текст
// Получить выделенный текст
jTextField1.setText(jTextArea1.getSelectedText());
jTextArea1.replaceSelection("Да!"); // Заменить выделенный текст
jTextField2.setText(jTextArea1.getText()); // Получить весь текст
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Выбор строки и замена подстроки в JTextArea
try {
// Номер выбранной строки
int line = jTextArea1.getLineOfOffset(jTextArea1.getCaretPosition());
int start = jTextArea1.getLineStartOffset(line); // Номер символа начала выбранной строки
int end = jTextArea1.getLineEndOffset(line); // Номер символа конца выбранной строки
String s = jTextArea1.getText(start, end - start); // Узнаем текст выбранной строки
jTextField1.setText(s);
jTextArea1.replaceSelection("Yes!"); // Заменяем выделенный текст на значение «Yes!»
} catch (Exception e) { jTextField1.setText(""); }
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Проход по строкам в JTextArea
try {
int line_count = jTextArea1.getLineCount() - 1; // Количество строк
for (int i = 0; i <= line_count; i++) { // Цикл по всем строкам
int start = jTextArea1.getLineStartOffset(i); // Определим начало i-ой строки
int end = jTextArea1.getLineEndOffset(i); // Определим конец i-ой строки
String s = jTextArea1.getText(start, end - start); // Узнаем текст i-ой строки
jTextArea1.replaceRange(Integer.toString(i + 1) + ") " + s, start, end); // Изменим строку
} } catch (Exception f) { jTextField1.setText(""); }
}
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// Добавление строк в JTextArea
jTextArea1.setText(""); // Удалить весь текст в компоненте
jTextArea1.append("Строка 1\n"); // Добавить значение и перейти на новую строку
jTextArea1.append("Строка 2\n"); // Добавить значение и перейти на новую строку
jTextArea1.append("Строка 3"); // Добавить значение
}
3.1.1. Пример работы с JTextArea и динамическими массивами ArrayList
private void jButton_PazdrActionPerformed(java.awt.event.ActionEvent evt) {
// Нажатие кнопки поздравить
ArrayList<String> pozdr = new ArrayList<>(); // Массив пожеланий
ArrayList<String> fam = new ArrayList<>(); // Массив фамилий
jEditorPane_Pozdr.setText(null); // Очищаем область поздравлений
try { // Проверка введенных пользователем пожеланий
for (int i = 0; i < jTextArea_Gel.getLineCount(); i++) {
int end = jTextArea_Gel.getLineEndOffset(i);
int start = jTextArea_Gel.getLineStartOffset(i);
// Проверяем является ли строки пустой ("==" - не работает)
if (jTextArea_Gel.getText(start, end - start).trim().equals("")) { continue; }
// Добавление поздравления в массив
pozdr.add(jTextArea_Gel.getText(start, end - start).trim());
}
} catch (Exception ex) { JOptionPane.showMessageDialog(rootPane, "Ошибка чтения пожеланий",
"Ошибка чтения", JOptionPane.ERROR_MESSAGE);
return; // Выход
}
try { // Проверка введенных пользователем фамилий
for (int i = 0; i < jTextArea_Fam.getLineCount(); i++) {
int end = jTextArea_Fam.getLineEndOffset(i);
int start = jTextArea_Fam.getLineStartOffset(i);
// Проверяем является ли строки пустой (== - не работает)
if (jTextArea_Fam.getText(start, end - start).trim().equals("")) { continue; }
fam.add(jTextArea_Fam.getText(start, end - start).trim()); // добавление фамилии в массив
}
} catch (Exception ex) { JOptionPane.showMessageDialog(rootPane, "Ошибка чтения фамилий",
"Ошибка чтения", JOptionPane.ERROR_MESSAGE);
return; // Выход
}
// Проверка количества поздравлений
if (fam.size() > pozdr.size()) { // Если фамилий больше чем поздравлений
JOptionPane.showMessageDialog(rootPane, "Пожеланий на всех не хватит! Уменьшите количество фамилий.", "Ошибка ввода", JOptionPane.ERROR_MESSAGE);
return;
}
StringBuilder s = new StringBuilder("<p align=\"center\"><cite><b><font size=\"5\">");
try { // ПОЗДРАВЛЯЕМ !!!
for (int i = 0; i < fam.size(); i++) {
// Генерируем случайное число в диапазоне от 0 до длины массива поздравлений
int p = (int) Math.floor(Math.random() * pozdr.size());
// Генерация поздравления
s.append("Уважаемый <font color=\"990505\">" + fam.get(i)+"</font>"
+ "! Желаем Вам " +
pozdr.get(p).toString().toLowerCase() + "!<br>"); //добавляем символ перехода на новую строку
pozdr.remove(p); // Удаляем элемент с индексом р из массива поздравлений
}
} catch (Exception ex) { JOptionPane.showMessageDialog(rootPane, "Ошибка генерации поздравления",
"Ошибка чтения", JOptionPane.ERROR_MESSAGE);
}
s.append("<br>");
jEditorPane_Pozdr.setText(s.toString());
}

4. ПАНЕЛЬ РЕДАКТОРА ТЕКСТА «JEditorPane»

Компонент JEditorPane служит для ввода/вывода многострочных данных с возможностью сложного оформления и разбивки текста. Компонент поддерживает отображение обычного текста, текста формата html, rtf, а также web-станиц с локальных и удаленных ресурсов.
|
№ п/п |
Свойство |
Назначение |
|
1. |
contentType |
Режим работы компонента с текстом: «text/plain» - обычный текст (по-умолчанию); «text/html» - расширенное оформление текста формата «html»; «text/rtf» - расширенное оформление текста формата «rtf». Примечание: Для корректного отображения русских букв rtf-файл должен быть сохранен в LibreOffice или Google document, т.е. файлы, сохраненные MS Office, открываются с некорректным отображением русских букв! |
|
2. |
text |
Текстовое содержимое компонента |
|
3. |
editable |
Разрешение редактирования текста в компоненте |
|
4. |
font |
Шрифт текста списка |
|
5. |
foreground |
Цвет текста списка |
|
6. |
background |
Цвет фона списка |
|
7. |
enabled |
Доступность компонента |
|
8. |
border |
Дополнительная рамка у компонента |
|
9. |
toolTipText |
Всплывающая подсказка |
|
10. |
selectedTextColor |
Цвет выделенного текста |
|
11. |
selectionColor |
Цвет фона выделенного текста |
|
12. |
disabledTextColor |
Цвет текста при включенной недоступности компонента (enabled=false) |
|
13. |
caretColor |
Цвет курсора |
|
14. |
opaque |
Непрозрачность фона |
|
15. |
cursor |
Вид курсора |
|
16. |
focusable |
Разрешение фокуса ввода с клавиатуры |
|
17. |
componentPopupMenu |
Привязка компонента всплывающего меню |
|
№ п/п |
Методы |
Назначение |
|
1. |
setText |
Установить текст в компоненте |
|
2. |
selectAll |
Выделить весь текст |
|
3. |
copy |
Скопировать выделение в буфер обмена |
|
4. |
cut |
Вырезать выделенный текст в буфер обмена |
|
5. |
paste |
Вставить из буфера обмена текст |
|
6. |
getSelectedText |
Получить выделенный текст |
|
7. |
replaceSelection |
Заменить выделенный текст |
|
8. |
getText |
Получить весь текст |
|
9. |
setContentType |
Установить формат текста: «text/plain» - обычный текст (по-умолчанию); «text/html» - расширенное оформление текста формата «html»; «text/rtf» - расширенное оформление текста формата «rtf». |
|
10. |
setPage |
Установка адреса/имени файла для отображения информации |
|
11. |
setEditable |
Установка/запрет режима редактирования текста |
ПРИМЕЧАНИЕ. При добавлении на форму компонента JEditorPane предварительно автоматически вставляется компонент JScrollPane, и уже в него вставляется JEditorPane. Это дает компоненту JEditorPane возможность горизонтальной и вертикальной прокрутки. Свойства «X», «Y», «Ширина», «Высота» перенесены в компонент JEditorPane.
4.1. Режим сложного оформления текста (contentType = text/html) в JEditorPane
При режиме contentType = text/html в свойстве text можно задавать не просто обычный текст, но и текст в виде html, например:
<html>
<head>
</head>
<body>
<p style="margin-top: 0">
<h1>Большой текст</h1>
<h2>Небольшой текст</h2>
<cite>Курсив</cite><br>
<font color="224956">Цветная строка (цвет формата RRGGBB</font>)<br>
<hr>
<cite>Цитата</cite><br>
<address>Цитата в цвете</address><br>
</p>
</body>
</html>
В результате присвоения свойству text данного кода JEditorPane станет отображать следующее:

4.2. Примеры работы с JEditorPane
4.2.1. Выдача текста с обычным оформлением в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Работа с JEditorPane
jEditorPane1.setText("Все работает!!!"); // Выдача текста
jEditorPane1.selectAll(); // Выделить весь текст
jEditorPane1.copy(); // Скопировать выделение в буфер обмена
//jEditorPane1.cut(); Вырезать выделенный текст в буфер обмена
//jEditorPane1.paste(); Вставить из буфера обмена текст
// Получить выделенный текст
jTextField1.setText(jEditorPane1.getSelectedText());
jEditorPane1.replaceSelection("Да!"); // Заменить выделенный текст
jTextField2.setText(jEditorPane1.getText()); // Получить весь текст
}
4.2.2. Выдача текста с html-форматированием в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Работа с JEditorPane
jEditorPane1.setContentType("text/html;Content-Type=windows-1251");
jEditorPane1.setText("<html><body>Все работает!!!</body></html>");
}
4.2.3. Выдача текста с расширенным оформлением текста в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Работа с JEditorPane
HTMLDocument hd = new HTMLDocument(); // HTMLDocument
jEditorPane1.setContentType("text/html"); // Режим сложного оформления текста
jEditorPane1.setDocument(hd); // Связывание jEditorPane1 и HTMLDocument
jEditorPane1.setText("Hello World"); // Выдача текста в компонент
MutableAttributeSet attr = new SimpleAttributeSet(); // Атрибуты текста
StyleConstants.setFontFamily(attr, "Arial"); // Установка шрифта
StyleConstants.setBackground(attr, Color.red); // Установка цвета
StyleConstants.setItalic(attr, true); // Установка наклонного стиля текста
hd.setCharacterAttributes(6, 4, attr, false); // Установить атрибуты 4 символам начиная с 6-го
}
4.2.4. Подсветка искомого значения в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Подсветка искомого значения в JEditorPane
// Получение содержимого документа
DefaultStyledDocument doc = (DefaultStyledDocument) jEditorPane1.getDocument();
MutableAttributeSet attr = new SimpleAttributeSet(); // Атрибуты текста
StyleConstants.setBackground(attr, new Color(255, 255, 177)); // Установка цвета
String s2 = jTextField1.getText().toUpperCase(); // Искомый текст большими буквами
String s = null; // Текст документа
int d = s2.length(); // Длина искомого текста
try {
// Получение текста документа большими буквами
s = doc.getText(0, doc.getLength()).toUpperCase();
} catch (BadLocationException ex) {
}
int k = 1, k2 = 0; // Инициализация переменных
while (k > 0) { // Цикл пока находится искомое значение
k = s.indexOf(s2, k2); // Поиск искомого значения в тексте документа
if (k > 0) { // Если поиск успешен, то
// Установка атрибутов тексту документа
doc.setCharacterAttributes(k, d, attr, false); k2 = k + d;
}
}
}
4.2.5. Выдача текста с html-станицы в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Загрузка внешней WEB html-страницы в JEditorPane
jEditorPane1.setContentType("text/html"); // Режим сложного оформления текста
jEditorPane1.setEditable(false); // Запрет на редактирование документа
try { jEditorPane1.setPage("http://www.google.ru"); // Загрузка данных с html-страницы
} catch (Exception e) { }
}
4.2.6. Загрузка внешней локальной html-страницы в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Загрузка внешней локальной html-страницы в JEditorPane
try {
jEditorPane1.setContentType("text/html");// Режим сложного оформления текста
jEditorPane1.setEditable(false); // Запрет на редактирование документа
// Загрузка данных из html-страницы
jEditorPane1.setPage(new File("d:/demo.html").toURI().toURL());
} catch (MalformedURLException ex) {
} catch (IOException ex) {
}
}
4.2.7. Загрузка локальной (из каталога готового jar-файла) html-страницы в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Загрузка локальной (из каталога готового jar-файла) html-страницы в JEditorPane
try {
jEditorPane1.setContentType("text/html");// Режим сложного оформления текста
jEditorPane1.setEditable(false); // Запрет на редактирование документа
jEditorPane1.setPage(getClass().getClassLoader().
getResource("mypackage/demo.html").toURI().toURL());// Загрузка данных из html-страницы
} catch (MalformedURLException | URISyntaxException ex) {
} catch (IOException ex) {
}
}
private void jEditorPane1HyperlinkUpdate(javax.swing.event.HyperlinkEvent evt) {
// Установка возможности перехода по гипер-ссылкам в JEditorPane
HyperlinkEvent.EventType type = evt.getEventType();
final URL url = evt.getURL();
if (type != HyperlinkEvent.EventType.ENTERED)
if (type == HyperlinkEvent.EventType.ACTIVATED) {
Document doc = jEditorPane1.getDocument();
try { jEditorPane1.setPage(url); }
catch (IOException ioException) { jEditorPane1.setDocument(doc); }
}
}
4.2.8. Выдача текста с rtf-документа в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Загрузка с диска rtf-файла в JEditorPane
try {
jEditorPane1.setContentType("text/rtf");// Режим сложного оформления текста
jEditorPane1.setEditable(false); // Запрет на редактирование документа
jEditorPane1.setPage(new File("d:/demo.rtf").toURI().toURL());
} catch (MalformedURLException ex) {
} catch (IOException ex) {
}
}
4.2.9. Загрузка локального (из каталога готового jar-файла) rtf-файла в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Загрузка локального (из каталога готового jar-файла) rtf-файла в JEditorPane
jEditorPane1.setContentType("text/rtf");// Режим сложного оформления текста
jEditorPane1.setEditable(false); // Запрет на редактирование документа
URL urlToRtf = getClass().getClassLoader().getResource("mypackage/demo.rtf");
try { jEditorPane1.setPage(urlToRtf); } catch (IOException ex) {
}
}
4.2.10. Загрузка rtf-файла с текущего каталога в JEditorPane
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Загрузка rtf-файла с текущего каталога в JEditorPane
try { // Получаем полное имя RTF-файла в текущем каталоге
String FileName = new File(".").getAbsoluteFile().getParentFile().getAbsolutePath()
+ System.getProperty("file.separator") + "demo.rtf";
jEditorPane1.setContentType("text/rtf"); // Устанавливаем режим rtf-документов
jEditorPane1.setPage(new File(FileName).toURI().toURL()); // Загружаем RTF-документ
} catch (MalformedURLException ex) {
} catch (IOException ex) {
}
}
4.2.11. Запись данных из JEditorPane в rtf-файл текущего каталога
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
// Запись данных из JEditorPane в rtf-файл текущего каталога
try { // Получаем полное имя RTF-файла в текущем каталоге
String FileName = new File(".").getAbsoluteFile().getParentFile().getAbsolutePath()
+ System.getProperty("file.separator") + "demo.rtf";
// Считываем содержимое документа
Document doc = jEditorPane1.getDocument();
FileOutputStream out = new FileOutputStream(FileName);
RTFEditorKit rtf = new RTFEditorKit(); // Инструментарий работы с RTF
rtf.write(out, doc, 0, doc.getLength()); // Запись документа в rtf-файл на диск
} catch (IOException | BadLocationException ex) {
}
}
4.2.12. Очистка данных в JEditorPane
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// Очистка данных в JEditorPane
jEditorPane1.setText("");
}
4.2.13. Установка типа и размера шрифта по-умолчанию в jEditorPane для html и rtf-режимов
private void formWindowOpened(java.awt.event.WindowEvent evt) {
// Установка типа и размера шрифта по-умолчанию в jEditorPane
new StyledEditorKit.FontFamilyAction("Tahoma", "Tahoma").actionPerformed(null);
new StyledEditorKit.FontSizeAction("16", 16).actionPerformed(null);
}
4.2.14. Загрузка txt-файла в JEditorPane с помощью диалога выбора файла
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {
// Загрузка txt-файла в JEditorPane с помощью диалога выбора файла
try {
JFileChooser fileopen = new JFileChooser(); // Создаем объект выбора файла
int ret = fileopen.showDialog(null, "Открыть файл"); // Вызываем диалог
if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если файл не выбран, то выход
File FileName = fileopen.getSelectedFile(); // Получение имени файла
// Открываем потоки чтения из файла
FileInputStream stream = new FileInputStream(FileName);
InputStreamReader reader = new InputStreamReader(stream);
BufferedReader buffered_reader = new BufferedReader(reader);
String txt = ""; String buf; // Инициализация переменных
// Загрузка текста из файла
while ((buf = buffered_reader.readLine()) != null) {
txt += buf + "\r\n";
}
jEditorPane1.setText(txt); // Установить считанный из файла текст в jEditorPane1
buffered_reader.close(); reader.close(); stream.close(); // Закрытие потоков чтения
} catch (FileNotFoundException ex) {
} catch (IOException ex) {
}
}
4.2.15. Сохранение текста из JEditorPane в txt-файл с помощью диалога
private void jButton3ActionPerformed(java.awt.event.ActionEvent evt) {
// Сохранение текста из JEditorPane в txt-файл с помощью диалога выбора файла
try {
JFileChooser fileopen = new JFileChooser(); // Создаем объект выбора файла
int ret = fileopen.showDialog(null, "Сохранить файл"); // Вызываем диалог
if (ret != JFileChooser.APPROVE_OPTION) { return; } // Если файл не выбран, то выход
File FileName = fileopen.getSelectedFile(); // Получение имени файла
// Считываем содержимое документа
PlainDocument doc = (PlainDocument) jEditorPane1.getDocument();
OutputStreamWriter out = new OutputStreamWriter(new FileOutputStream(FileName));
String txt = doc.getText(0, doc.getLength()); // Считываем текст из jEditorPane1
out.write(txt); // Сохраняем текст в файл
out.close(); // Закрываем файл
} catch (IOException | BadLocationException ex) {
}
}
5. КОМПОНЕНТ «JPasswordField» (поле пароля)
![]()
JPasswordField представляет собой компонент для ввода пароля.
|
№ п/п |
Свойство |
Назначение |
|
1. |
editable |
Разрешение редактировать текст |
|
2. |
font |
Шрифт текста |
|
3. |
foreground |
Цвет текста |
|
4. |
background |
Цвет фона |
|
5. |
horizontalAlignment |
Выравнивание текста по горизонтали |
|
6. |
opaque |
Непрозрачность фона |
|
7. |
border |
Рамка |
|
8. |
componentPopupMenu |
Привязка компонента всплывающего меню |
|
9. |
caretColor |
Цвет курсора |
|
10. |
cursor |
Вид курсора |
|
11. |
disabledTextColor |
Цвет текста при недоступности компонента |
|
12. |
enabled |
Доступность компонента |
|
13. |
focusable |
Разрешение фокуса ввода/работы с текстом |
|
14. |
selectedText |
Выделенный текст |
|
15. |
selectedTextColor |
Цвет выделенного текста |
|
16. |
selectionColor |
Цвет фона выделенного текста |
|
17. |
toolTipText |
Всплывающая подсказка над компонентом |
|
18. |
Высота |
Высота компонента |
|
19. |
Ширина |
Ширина компонента |
|
№ п/п |
Методы |
Назначение |
|
1. |
getPassword() |
получить пароль |
5. 1. Пример работы с JPasswordField
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Получить введенный пароль из компонента JPasswordField
jTextField1.setText(String.valueOf(jPasswordField1.getPassword()));
}
6. КОМПОНЕНТ «JFormattedTextField» (форматируемое поле)
![]()
Класс JFormattedTextField представляет собой компонент для ввода текстового значения по заданному шаблону.
|
№ п/п |
Свойство |
Назначение |
|
1. |
text |
Текстовое значение в компоненте |
|
2. |
formatterFactory |
Шаблон для ввода данных |
|
3. |
editable |
Разрешение редактировать текст |
|
4. |
font |
Шрифт текста |
|
5. |
foreground |
Цвет текста |
|
6. |
background |
Цвет фона |
|
7. |
horizontalAlignment |
Выравнивание текста по горизонтали |
|
8. |
opaque |
Непрозрачность фона |
|
9. |
border |
Рамка |
|
10. |
componentPopupMenu |
Привязка компонента всплывающего меню |
|
11. |
caretColor |
Цвет курсора |
|
12. |
cursor |
Вид курсора |
|
13. |
disabledTextColor |
Цвет текста при недоступности компонента |
|
14. |
enabled |
Доступность компонента |
|
15. |
focusable |
Разрешение фокуса ввода/работы с текстом |
|
16. |
selectedText |
Выделенный текст |
|
17. |
selectedTextColor |
Цвет выделенного текста |
|
18. |
selectionColor |
Цвет фона выделенного текста |
|
19. |
toolTipText |
Всплывающая подсказка над компонентом |
|
20. |
Высота |
Высота компонента |
|
21. |
Ширина |
Ширина компонента |
|
№ п/п |
Методы |
Назначение |
|
1. |
getText() |
Получить введенное значение с учетом шаблона |
|
2. |
getValue() |
Получить введенное значение без учета шаблона |
6.1. Шаблоны ввода (значение свойства formatterFactory) в JFormattedTextField

6.2. Примеры работы с JFormattedTextField
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
// Пример чтения данных с компонента JFormattedTextField
jTextField1.setText(jFormattedTextField1.getText()); // Получить введенное значение по шаблону
jTextField2.setText(jFormattedTextField1.getValue().toString());// Получить введенное значение
}